package com.ruoyi.college.service;

import java.util.List;
import com.ruoyi.college.domain.ExperimentReport;
import org.springframework.web.multipart.MultipartFile;

/**
 * 实验报告管理Service接口
 * 
 * @author ruoyi
 * @date 2025-08-31
 */
public interface IExperimentReportService 
{
    /**
     * 查询实验报告管理
     * 
     * @param reportId 实验报告管理主键
     * @return 实验报告管理
     */
    public ExperimentReport selectExperimentReportByReportId(Long reportId);

    /**
     * 查询实验报告管理列表
     * 
     * @param experimentReport 实验报告管理
     * @return 实验报告管理集合
     */
    public List<ExperimentReport> selectExperimentReportList(ExperimentReport experimentReport);

    /**
     * 新增实验报告管理
     * 
     * @param experimentReport 实验报告管理
     * @return 结果
     */
    public int insertExperimentReport(ExperimentReport experimentReport);

    /**
     * 上传报告附件
     *
     * @param file 上传的文件
     * @return 文件保存路径
     */
    String uploadReportFile(MultipartFile file) throws Exception;


    int saveReport(ExperimentReport report, MultipartFile file) throws Exception;

    /**
     * 修改实验报告管理
     * 
     * @param experimentReport 实验报告管理
     * @return 结果
     */
    public int updateExperimentReport(ExperimentReport experimentReport);

    public int updateExperimentReviewReport(ExperimentReport experimentReport);

    /**
     * 批量删除实验报告管理
     * 
     * @param reportIds 需要删除的实验报告管理主键集合
     * @return 结果
     */
    public int deleteExperimentReportByReportIds(String reportIds);

    /**
     * 删除实验报告管理信息
     * 
     * @param reportId 实验报告管理主键
     * @return 结果
     */
    public int deleteExperimentReportByReportId(Long reportId);
}
